Sélecteurs d'attribut
Les sélecteurs d'attribut permettent de cibler un élément par un de ses attributs ou par la valeur d'un de ses attributs :
/* Sélectionne les éléments <a> possédant un attribut title */
a[title] {
color: red;
}
/* Sélectionne les éléments <img> avec un attribut src dont la valeur est "chat.jpg" */
img[src="chat.jpg"] {
cursor: pointer;
}
Sélecteur adjacent
Le sélecteur adjacent permet de sélectionner un élément situé après un autre :
/* Sélectionne les éléments <p> situés après un élément <ul> */
ul + p{
color: red;
}
Les pseudos classes
Les pseudos classes sont des sélecteurs spéciaux permettant d'indiquer qu'un élément doit être dans un état spécifique pour être sélectionné.
/* La pseudo classe "hover" permet d'appliquer des styles uniquement si l'élément est survolé par la souris */
p:hover{
color: red;
}
/* La pseudo classe "active" permet d'appliquer des styles uniquement si l'élément est en train d'être cliqué */
p:active{
color: blue;
}
/* La pseudo classe ":visited" permet de sélectionner les liens ayant déjà été visités */
a:visited{
color: grey;
}
/* La pseudo classe ":link" permet de sélectionner les liens pas encore visités */
a:link{
color: gold;
}
/* Sélectionne uniquement le premier enfant de l'élément parent (dans cet exemple le premier li de chaque ul) */
ul > li:first-child{
color: pink;
}
/* Sélectionne uniquement le dernier enfant de l'élément parent (dans cet exemple le dernier li de chaque ul) */
ul > li:last-child{
color: orange;
}
/* Sélectionne uniquement le xème enfant de l'élément parent (dans cet exemple le 2ème li de chaque ul) */
ul > li:nth-child(2){
color: yellow;
}
/* Sélectionne tous les éléments ne correspondant pas au test (dans cet exemple, sélectionne tous les h2 n'ayant pas la classe "red") */
h2:not(.red){
color: green;
}
Liste complète des pseudo-classes : https://developer.mozilla.org/fr/docs/Web/CSS/Pseudo-classes
Aller plus loin
Il existe plein de sélecteurs avancés en CSS, voici un article pour pousser plus loin la découverte ! https://code.tutsplus.com/fr/tutorials/the-30-css-selectors-you-must-memorize--net-16048